home *** CD-ROM | disk | FTP | other *** search
/ PC Play 128 / pc play 128.iso / Demo / xmr / xmr.exe / {app} / Shaders / vs / vs2_0_water_cubemap_ref.vsh < prev    next >
Encoding:
Text File  |  2007-07-27  |  4.0 KB  |  130 lines

  1. vs_2_0
  2. // DX9 Vertex shader generated by NVIDIA Cg compiler
  3. // cgc version 1.3.0001, build date Jan  7 2005 14:01:35
  4. // command line args: -q -profile vs_2_0 -entry main -profileopts dcls
  5. // source file: vs2_0_water_cubemap_ref.cg
  6. // nv30vp backend compiling 'main' program
  7. def c20, 1, 0, 0.5, 0
  8. //vendor NVIDIA Corporation
  9. //version 1.0.02
  10. //profile vs_2_0
  11. //program main
  12. //semantic main.WorldViewProjMatrix
  13. //semantic main.WorldViewMatrix
  14. //semantic main.WorldMatrix
  15. //semantic main.EyePos
  16. //semantic main.Light
  17. //semantic main.Fresnel
  18. //semantic main.ReflerOffset
  19. //semantic main.Time
  20. //semantic main.WaveDir
  21. //semantic main.WaveTextOffset1
  22. //semantic main.WaveTextOffset2
  23. //semantic main.WaveHeight
  24. //var float4x4 WorldViewProjMatrix :  : c[0], 4 : 1 : 1
  25. //var float4x4 WorldViewMatrix :  : c[4], 4 : 2 : 1
  26. //var float4x4 WorldMatrix :  : c[8], 4 : 3 : 1
  27. //var float4 EyePos :  : c[12] : 4 : 1
  28. //var float4 Light.Position :  : c[13] : 5 : 1
  29. //var float4 Light.Attenuation :  : c[14] : 5 : 1
  30. //var float Light.Range :  : c[15] : 5 : 1
  31. //var float Light.Power :  :  : 5 : 0
  32. //var float4 Fresnel :  : c[16] : 6 : 1
  33. //var float ReflerOffset :  :  : 7 : 0
  34. //var float4 Time :  : c[17] : 8 : 1
  35. //var float4 WaveDir :  :  : 9 : 0
  36. //var float4 WaveTextOffset1 :  : c[18] : 10 : 1
  37. //var float4 WaveTextOffset2 :  : c[19] : 11 : 1
  38. //var float4 WaveHeight :  :  : 12 : 0
  39. //var float4 I.Position : $vin.POSITION : POSITION : 0 : 1
  40. //var float3 I.Normal : $vin.NORMAL : NORMAL : 0 : 1
  41. //var float2 I.TexCoord0 : $vin.TEXCOORD0 : TEXCOORD0 : 0 : 1
  42. //var float3 I.Tangent : $vin.TEXCOORD1 : TEXCOORD1 : 0 : 1
  43. //var float4 main.HPOS : $vout.POSITION : HPOS : -1 : 1
  44. //var float4 main.LightDir : $vout.COLOR0 : COL0 : -1 : 1
  45. //var float4 main.LightAtten : $vout.COLOR1 : COL1 : -1 : 1
  46. //var float4 main.TexCoord0 : $vout.TEXCOORD0 : TEX0 : -1 : 1
  47. //var float4 main.TexCoord1 : $vout.TEXCOORD1 : TEX1 : -1 : 1
  48. //var float4 main.Pos3D : $vout.TEXCOORD2 : TEX2 : -1 : 1
  49. //var float4 main.EyePos : $vout.TEXCOORD3 : TEX3 : -1 : 1
  50. //var float4 main.FresnelRefl : $vout.TEXCOORD4 : TEX4 : -1 : 1
  51. //var float4 main.Tangent : $vout.TEXCOORD5 : TEX5 : -1 : 1
  52. //var float4 main.Normal : $vout.TEXCOORD6 : TEX6 : -1 : 1
  53. //var float4 main.HalfVec : $vout.TEXCOORD7 : TEX7 : -1 : 1
  54. //const c[20] = 1 0 0.5 0
  55. dcl_texcoord1 v3
  56. dcl_texcoord0 v2
  57. dcl_normal v1
  58. dcl_position v0
  59.     mov oT3, c12
  60.     mov r0.xyz, v0.xyzz
  61.     mov r0.w, c20.x
  62.     dp4 oPos.x, c0, r0
  63.     dp4 oPos.y, c1, r0
  64.     dp4 oPos.z, c2, r0
  65.     dp4 oPos.w, c3, r0
  66.     mov oT5.xyz, v3.xyzz
  67.     mov oT5.w, c20.y
  68.     mov oT6.xyz, v1.xyzz
  69.     mov oT6.w, c20.y
  70.     dp4 r0.y, c8, v0
  71.     dp4 r0.z, c9, v0
  72.     dp4 r0.w, c10, v0
  73.     mov oT2.xyz, r0.yzwy
  74.     add r2.yzw, c12.xxyz, -r0.yyzw
  75.     dp3 r0.x, r2.yzw, r2.yzw
  76.     rsq r2.x, r0.x
  77.     add r0.yzw, c13.xxyz, -r0.yyzw
  78.     dp3 r0.x, r0.yzw, r0.yzw
  79.     rsq r1.w, r0.x
  80.     mul r1.xyz, r0.yzw, r1.w
  81.     mad r0.yzw, r2.x, r2.yyzw, r1.xxyz
  82.     dp3 r0.x, r0.yzw, r0.yzw
  83.     rsq r0.x, r0.x
  84.     mul oT7.xyz, r0.x, r0.yzw
  85.     mov oT7.w, c20.y
  86.     dp3 r0.x, r1.xyz, r1.xyz
  87.     rsq r0.x, r0.x
  88.     mul r0.xyz, r0.x, r1.xyz
  89.     mad oD0.xyz, c20.z, r0.xyz, c20.z
  90.     mov oD0.w, c20.y
  91.     rcp r0.y, r1.w
  92.     slt r0.z, r0.y, c15.x
  93.     mad r0.x, c14.z, r0.y, c14.y
  94.     mad r0.x, r0.y, r0.x, c14.x
  95.     rcp r0.x, r0.x
  96.     min r0.y, r0.x, c20.x
  97.     add r0.x, c20.x, -r0.z
  98.     mul r0.x, r0.x, c20.y
  99.     mad r0.x, r0.z, r0.y, r0.x
  100.     mad r0.x, c20.z, r0.x, c20.z
  101.     mov oD1, r0.x
  102.     dp4 r0.y, c4, v0
  103.     dp4 r0.z, c5, v0
  104.     dp4 r0.w, c6, v0
  105.     dp3 r0.x, r0.yzw, r0.yzw
  106.     rsq r0.x, r0.x
  107.     mul r1.xyz, r0.x, r0.yzw
  108.     dp3 r0.y, c4.xyz, v1.xyz
  109.     dp3 r0.z, c5.xyz, v1.xyz
  110.     dp3 r0.w, c6.xyz, v1.xyz
  111.     dp3 r0.x, r0.yzw, r0.yzw
  112.     rsq r0.x, r0.x
  113.     mul r0.xyz, r0.x, r0.yzw
  114.     dp3 r0.x, r1.xyz, r0.xyz
  115.     add r0.xy, c20.x, r0.x
  116.     mov r0.zw, c16.x
  117.     lit r0.z, r0
  118.     add r0.x, c20.x, -r0.z
  119.     mad r0.x, c16.y, r0.x, r0.z
  120.     min r0.x, c20.x, r0.x
  121.     max r0.x, c20.y, r0.x
  122.     mov oT4, r0.x
  123.     mov r0.x, c17
  124.     mad oT0.x, r0.x, c18.x, v2.x
  125.     mad oT0.y, r0.x, c18.y, v2.y
  126.     mad oT1.x, r0.x, c19.x, v2.x
  127.     mad oT1.y, r0.x, c19.y, v2.y
  128. // 71 instructions
  129. // 3 temp registers
  130.